<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

// 使用类
use DB;
use App\Http\Controllers\Controller;
// 后台分类标签控制器
class TagsController extends Controller
{   
    // 标签首页

    public function index(Request $request)
    {   
    	$count = $request -> input('count',10);
        $search = $request -> input('search','');
        $request = $request -> all();

        //$data =\DB::table('tag')->where('tagname', 'like', '%'.$search.'%')->paginate($count);
		  $data = DB::table('tag')
		            ->join('types', 'tag.tid', '=', 'types.id')
		            ->select('tag.*', 'types.typename','types.path')
		            ->paginate($count);

    	
        // 加载页面
       return view("admin.tags.index")->with('data',$data)->with('request',$request);

    }

    // 添加标签页面 admin/tags/create  get

    public function create($id ='')
    {   
    	$data=self::getTypes();
    	
        //加载添加分类页面
        return view('admin.tags.create')->with('data',self::getTypes())->with('id',$id);
    }

    // 插入操作  admin/tags  post

    public function store(Request $request)
    {
         //获取表单数据
        $data = $request -> except('_token','id');

        $tid=$request->input('id');

        $data['tid']=$tid;

        $data['createtime']=time();
                // 插入数据库
         $res=\DB::table("tag")->insert($data);

	      if($res){
	             return redirect('admin/tags')->with('success','添加成功');

	        }else{
	            return back()->with('error','添加失败');
	      }

       
    }

    // 修改页面 admin/tags/{admin}/edit get

    public function edit($id)
    {

        	echo 1;
       // return view('admin.tags.edit');
    }


    // 更新操作 admin/tags/{admin}  put

    public function update(Request $request, $id)
    {     
        
    }


     // 处理分类
    static public function getTypes()
    {
        
        //拼接path ID 查询
         $data =\DB::table('types')
                     ->select(\DB::raw('*,concat(path,id) as p'))
                     ->orderBy('p')
                     ->get();

                  
        foreach ($data as $key => $value) {
            // 统计一个字符串在另一个字符串出现次数
            $len = substr_count($value['path'],',');
          
             // 通过， 判断是几级分类
              if($len==1){
                $data[$key]['typename'] = $value['typename'];
              }else{
                $data[$key]['typename'] = str_repeat('|----',$len-1).$value['typename'];
              }     
           
        }
        return $data;
    }



    // 插入属性页面  tags/addAttr  get
   pubLic function addAttr($id)
   {
   		// 查询数据库

        $data=\DB::table("tag")->find($id);

       // dd($data);
        //分配数据
        return view('admin.tags.add')->with("data",$data);

   }

   // 插入属性  /tags/insertAttr  post
   pubLic function insertAttr(Request $request)
   {	
   		 parse_str($_POST['str'],$data);
   		// 查询数据库
   		// $data=$request->except('_token');
       
		if (\DB::table('tag_property')->insert($data)){
            return 1;
        }else{
            return 0;
        }


       // dd($arr);
        //分配数据
        return view('admin.tags.add')->with("data",$data);

   }



    // 展示属性页面  tags/showAttr  get
   pubLic function showAttr($id)
   {
   		// 查询数据库

        $data=\DB::table("tag_property")->where('tagid',$id)->get();

        //dd($data);
       // dd($data);
        //分配数据
       return view('admin.tags.show')->with("data",$data);

   }

}
